package studentmanager;

import java.util.ArrayList;
import java.util.Scanner;

public class StudentManager {

    //学生信息的集合
    static ArrayList<Student> list = new ArrayList<>();

    public static void main(String[] args) {
        boolean isFinish = true;

        while (isFinish) {
            System.out.println("----------欢迎来到学生管理系统----------");
            System.out.print("1 添加学生" + "\t");
            System.out.print("2 删除学生" + "\t");
            System.out.print("3 修改学生" + "\t");
            System.out.println("4 查看学生" + "\t");
            System.out.println("5 退出");
            System.out.println("请选择功能---");
            //用于用户输入的一个对象
            Scanner scanner = new Scanner(System.in);

            //定义变量接受 用户输入的功能 选择
            int number = scanner.nextInt();
            //if  switch  for  while
            switch (number) {
                case 1:
                    //添加学生
                    System.out.println("添加学生");
                    addStudent();
                    break;
                case 2:
                    //删除学生：
                    System.out.println("删除学生");
                    deleteStudent();
                    break;
                case 3:
                    //修改学生：
                    System.out.println("修改学生");
                    updateStudent();
                    break;
                case 4:
                    //查看学生：
                    System.out.println("查看学生");
                    showStudent();
                    break;
                case 5:
                    //退出系统：
                    System.out.println("退出系统");
                    isFinish = false;
                    break;
            }
        }
    }

    //添加学生的方法
    private static void addStudent() {
        System.out.println("请输入学号：");
        Scanner scanner = new Scanner(System.in);
        //学生的学号
        String idNumber = scanner.nextLine();

        System.out.println("请输入姓名：");
        String name = scanner.nextLine();


        System.out.println("请输入手机号：");
        String phoneNumber = scanner.nextLine();

        System.out.println("请输入年龄：");
        int age = scanner.nextInt();

        //创建学生的对象
        Student student = new Student(idNumber, name, age, phoneNumber);

        //将student 放置到 list 里面
        list.add(student);
        System.out.println("添加成功");
    }

    //查看学生列表信息
    private static void showStudent() {
        for (int i = 0; i < list.size(); i++) {
            //集合有一堆数据  循环 一条条取出来
            Student student = list.get(i);

            System.out.println(student.getIdNumber() + "\t" + student.getName() + "\t" + student.getAge() + "\t" + student.getPhoneNumber());
        }
    }

    private static void deleteStudent() {
        System.out.println("请输入删除学生的学号：");
        Scanner scanner = new Scanner(System.in);
        //让用户输入
        String idNumber = scanner.nextLine();
        //判断学生是否删除成功的标识
        boolean isSuccess = false;

        //10个学生
        //通过学号去  list 中寻找 是否存在 这个学号的学生
        for (int i = 0; i < list.size(); i++) {
            Student student = list.get(i);
            if (idNumber.equals(student.getIdNumber())) {
                //存在这个学号的学生  删除这个学号的学生
                list.remove(i);
                System.out.println("删除成功");
                isSuccess = true;
                break;
            }
        }
        if (!isSuccess) {
            //isSuccess=false
            System.out.println("没找到对应的学生");
        }
    }

    private static void updateStudent() {
        System.out.println("请输入要修改学生的学号");
        Scanner scanner = new Scanner(System.in);
        String idNumber = scanner.nextLine();

        for (int i = 0; i < list.size(); i++) {
            Student student = list.get(i);
            if (idNumber.equals(student.getIdNumber())) {
                //说明该学生存在
                System.out.println("请输入学生的新的姓名");
                String newName = scanner.nextLine();

                System.out.println("请输入学生新的手机号");
                String phoneNew = scanner.nextLine();
                System.out.println("请输入学生的新的年龄");
                int age = scanner.nextInt();

                //修改信息
                student.setName(newName);
                student.setAge(age);
                student.setPhoneNumber(phoneNew);

                //修改集合当中的数据
                list.set(i, student);
            }
        }
    }
}
